Python এর socket মডিউল ব্যবহার করে Server এবং Client তৈরি

Computer Programming - ইউনিক্স সকেট (Unix Socket) Socket Programming in Python (Python এ Socket Programming) |
234
234

Python এর socket মডিউল ব্যবহার করে Server এবং Client তৈরি

Python এর socket মডিউল নেটওয়ার্ক প্রোগ্রামিংয়ের জন্য একটি শক্তিশালী টুল। এটি TCP/IP প্রোটোকলের মাধ্যমে সার্ভার এবং ক্লায়েন্টের মধ্যে যোগাযোগ স্থাপন করতে ব্যবহৃত হয়। এখানে আমরা একটি সহজ TCP/IP সার্ভার এবং ক্লায়েন্ট তৈরি করব, যেখানে সার্ভার একটি পোর্টে অপেক্ষা করবে এবং ক্লায়েন্ট সেই পোর্টে সংযোগ করে সার্ভারের সাথে ডেটা আদান-প্রদান করবে।


১. Server কোড

সার্ভার একটি নির্দিষ্ট পোর্টে ক্লায়েন্টের সংযোগের জন্য অপেক্ষা করবে এবং ক্লায়েন্ট থেকে আসা ডেটা গ্রহণ করবে। এটি একটি সাধারণ TCP সার্ভার হবে যা একটি ক্লায়েন্টের কাছ থেকে ডেটা নিয়ে উত্তর পাঠাবে।

import socket

# সার্ভার সেটআপ
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# সার্ভারের IP এবং পোর্ট সেট করা
server_socket.bind(('127.0.0.1', 65432))

# সার্ভারের লিসেনিং শুরু
server_socket.listen()

print("Server is listening for incoming connections...")

# ক্লায়েন্ট সংযোগ গ্রহণ
client_socket, client_address = server_socket.accept()
print(f"Connection established with {client_address}")

# ক্লায়েন্ট থেকে ডেটা গ্রহণ করা
data = client_socket.recv(1024)
print(f"Received data: {data.decode()}")

# ক্লায়েন্টকে রিপ্লাই পাঠানো
client_socket.sendall(b"Hello, Client!")

# সংযোগ বন্ধ করা
client_socket.close()

ব্যাখ্যা:

  • সার্ভার 127.0.0.1 (লোকালহোস্ট) আইপি এবং 65432 পোর্টে সংযোগ গ্রহণের জন্য অপেক্ষা করবে।
  • যখন একটি ক্লায়েন্ট সংযোগ করবে, সার্ভার accept() মেথডের মাধ্যমে সংযোগ গ্রহণ করবে।
  • সার্ভার ক্লায়েন্ট থেকে ডেটা গ্রহণ করে এবং তা প্রিন্ট করবে, তারপর একটি উত্তর পাঠাবে।
  • অবশেষে, ক্লায়েন্টের সাথে সংযোগ বন্ধ করবে।

২. Client কোড

ক্লায়েন্ট সার্ভারের সাথে সংযোগ স্থাপন করবে এবং একটি মেসেজ পাঠাবে। সার্ভার থেকে উত্তর পেলে সেটি ক্লায়েন্টের দিকে ফেরত পাঠাবে।

import socket

# ক্লায়েন্ট সেটআপ
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# সার্ভারের IP এবং পোর্টে সংযোগ করা
client_socket.connect(('127.0.0.1', 65432))

# সার্ভারকে একটি মেসেজ পাঠানো
client_socket.sendall(b"Hello, Server!")

# সার্ভার থেকে উত্তর গ্রহণ করা
data = client_socket.recv(1024)
print(f"Received from server: {data.decode()}")

# সংযোগ বন্ধ করা
client_socket.close()

ব্যাখ্যা:

  • ক্লায়েন্ট সার্ভারের 127.0.0.1 আইপি এবং 65432 পোর্টে সংযোগ করবে।
  • সার্ভারকে একটি মেসেজ পাঠানো হবে এবং সার্ভার থেকে পাওয়া উত্তর ক্লায়েন্ট প্রিন্ট করবে।
  • সংযোগ শেষে ক্লায়েন্ট তার সকেট বন্ধ করবে।

৩. কোডের আউটপুট

সার্ভার আউটপুট:

Server is listening for incoming connections...
Connection established with ('127.0.0.1', 51234)
Received data: Hello, Server!

ক্লায়েন্ট আউটপুট:

Received from server: Hello, Client!

উপসংহার

এটি একটি সাধারণ TCP/IP সার্ভার এবং ক্লায়েন্টের উদাহরণ যা Python এর socket মডিউল ব্যবহার করে তৈরি করা হয়েছে। সার্ভার ক্লায়েন্টের সংযোগ গ্রহণ করে ডেটা গ্রহণ করে এবং একটি উত্তর পাঠায়, এবং ক্লায়েন্ট সার্ভারে সংযোগ করে ডেটা পাঠায় এবং উত্তর গ্রহণ করে। socket মডিউল এর মাধ্যমে আপনি আরও উন্নত নেটওয়ার্ক প্রোগ্রামিং করতে পারেন, যেমন মাল্টি-ক্লায়েন্ট হ্যান্ডলিং, আসিঙ্ক্রোনাস যোগাযোগ, এবং সিকিউরড (SSL/TLS) সংযোগ তৈরি।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion